package me.sealer.demo;

/**
 * Created by sealer on 17/05/14.
 * 一句话总结： 基本类型的大小比较，只看数值； 基本类型的封装类比较大小看范围：-128~127之间只看数值， 大于127要地址相同才相等。
 */
public class ObjPoolTest {
    public static void main(String[] args) {
        Integer i1 = 40;
        Integer i2 = 40;
        Integer i3 = new Integer(40);
        Integer i4 = new Integer(40);

        Integer i5 = 400;
        Integer i6 = 400;
        Integer i7 = new Integer(400);
        Integer i8 = new Integer(400);

        Integer i9 = 0;
        Integer i10 = new Integer(0);

        System.out.println("i1 == i2 \t" + (i1 == i2));//说明 基本类型只要数值相同， 则相等
        System.out.println("i1 == i1+i9 \t" + (i1 == i1+i9));//说明基本类型进行加减运算后，只要数值相同， 则相等
        System.out.println("i1 == i1+i10 \t" + (i1 == i1+i10));//说明基本类型和基本类型的封装类进行加减运算后，只要数值相同， 则相等
        System.out.println("i3 == i4 \t" + (i3 == i4));//说明介于-128~127之间的基本类型的封装类型只有数值相同并不相等， 还需地址相同
        System.out.println("i5 == i6 \t" + (i5 == i6));//说明大于127的基本类型只有数值相同并不相等， 还需地址相同（以Integer i = 400；这种方式定义的）
        System.out.println("i7 == i8 \t" + (i7 == i8));//说明大于127的基本类型的封装类型只有数值相同并不相等， 还需地址相同
    }
}
